// 封装各种业务接口 如 登录 搜索 添加商品 ....
import { method } from 'lodash'
import request from './request'

// 封装登录接口
export function Loginapi(data) {
  return request({
    url: '/login',
    method: 'POST', //post方式用data接收，get方式用params接收
    data
  })
}

// 封装左侧数据接口
export function getMenuList() {
  return request({
    url: '/menus',
    method: 'GET'
  })
}

// 封装用户列表数据
export function getUsersList(params) {
  return request({
    url: '/users',
    method: 'GET',
    params
  })
}

// 获取新用户接口
export function getNewUsers(data) {
  return request({
    url: '/users',
    method: 'POST',
    data
  })
}

// 获取改变状态的接口
export function getChangeSwitch(uId, type) {
  return request({
    url: `/users/${uId}/state/${type}`,
    method: 'PUT'
  })
}

// 编辑用户接口
export function editChange(id, editData) {
  return request({
    url: `/users/${id}`,
    method: 'PUT',
    data: editData
  })
}

// 删除用户接口
export function deleteUsers(id) {
  return request({
    url: `/users/${id}`,
    method: 'DELETE'
  })
}

// 获取角色列表接口
export function getRolesList() {
  return request({
    url: '/roles',
    method: 'GET'
  })
}

// 角色授权接口
export function setRole(id, rid) {
  return request({
    url: `/users/${id}/role`,
    method: 'PUT',
    data: { rid }
  })
}

// 获取权限列表数据
export function getRightList() {
  return request({
    url: 'rights/list',
    method: 'GET'
  })
}

// 获取角色列表
export function getRid() {
  return request({
    url: 'roles',
    method: 'get'
  })
}

// 添加角色接口
export function addRoles(data) {
  return request({
    url: `roles`,
    method: 'post',
    data
  })
}

// 根据id查询角色接口
export function getRights() {
  return request({
    url: 'rights/tree',
    method: 'get'
  })
}

// 编辑提交角色接口
export function emitRoles(data) {
  return request({
    url: `roles/${data.id}`,
    method: 'put',
    data
  })
}

// 删除角色接口
export function rolesDel(id) {
  return request({
    url: `roles/${id}`,
    method: 'delete'
  })
}

// 角色授权接口
export function changeRoles(data) {
  return request({
    url: `roles/${data.roleId}/rights`,
    method: 'post',
    data
  })
}

// 删除角色指定权限接口
export function delRoledRight(data) {
  return request({
    url: `roles/${data.roleId}/rights/${data.rightId}`,
    method: 'delete'
  })
}

// 封装商品列表编辑接口
export function goodsEdit(data) {
  return request({
    url: `/goods/${data.goods_id}`,
    method: 'PUT',
    data
  })
}

// 封装商品列表删除接口
export function goodsDelete(id) {
  return request({
    url: `/goods/${id}`,
    method: 'DELETE'
  })
}

// 获取商品列表数据
export function getGoodsList(params) {
  return request({
    url: '/goods',
    method: 'GET',
    params
  })
}

// 获取商品分类数据接口
export function getGoodsCateList(params) {
  return request({
    url: '/categories',
    method: 'GET',
    params
  })
}

// 获取商品参数接口
export function getGoodsParams(cateId, sel = 'many') {
  return request({
    url: `categories/${cateId}/attributes`,
    method: 'GET',
    params: { sel }
  })
}

// 编辑提交分类
export function goodsCateEdit(id, cat_name) {
  return request({
    url: `categories/${id}`,
    method: 'PUT',
    data: cat_name
  })
}

// 删除分类接口
export function goodsCateDel(id) {
  return request({
    url: `categories/${id}`,
    method: 'DELETE'
  })
}

// 商品分类添加分类接口
export function addGoodsCate(data) {
  return request({
    url: '/categories',
    method: 'POST',
    data
  })
}

// 添加商品接口
export function addGoods(data) {
  return request({
    url: '/goods',
    method: 'POST',
    data
  })
}

// 编辑提交参数
export function editParams(catId,attrId,data) {
  return request({
    url: `/categories/${catId}/attributes/${attrId}`,
    method: 'PUT',
    data
  })
}

// 编辑提交参数
export function ordersApi(params) {
  return request({
    url: `/orders`,
    method: 'get',
    params
  })
}
export function getDataReportsApi() {
  return request({
      url: 'reports/type/1',
      method:'GET'
  })
}